import type { LineModel } from './models';

import { requestClient } from '#/api/request';

/**
 * 获取生产线数据集合，包含工站信息
 * @param params 查询参数
 * @returns 返回查询结果
 */
export async function getAllLineListApi(params?: any) {
  return requestClient.get<LineModel[]>('/mes/master/line/all', {
    params,
  });
}

/**
 * 获取生产线数据集合
 * @param params 查询参数
 * @returns 返回查询结果
 */
export async function getLineListApi(params?: any) {
  return requestClient.get<LineModel[]>('/mes/master/line/list', {
    params,
  });
}

/**
 * 分页查询生产线数据集合
 * @param params 分页查询参数
 * @returns 返回查询结果
 */
export async function getLinePagedListApi(params?: PageParams) {
  return requestClient.get<PaginationResult<LineModel>>(
    '/mes/master/line/list-page',
    {
      params,
    },
  );
}

/**
 * 创建生产线
 * @param data 要创建的生产线
 * @returns 返回结果
 */
export async function createLineApi(data: any) {
  return requestClient.post<boolean>('/mes/master/line', data);
}

/**
 * 更新生产线
 * @param id 生产线 Id
 * @param data 要更新的生产线
 * @returns 返回结果
 */
export async function updateLineApi(id: number, data: any) {
  return requestClient.put<boolean>(`/mes/master/line/${id}`, data);
}

/**
 * 删除生产线
 * @param id 生产线 Id
 * @returns 返回结果
 */
export async function deleteLineApi(id: number) {
  return requestClient.delete<boolean>(`/mes/master/line/${id}`);
}
